package business.utilities;

import dao.DaoGare;
import dao.DaoUtilisateur;
import externaldata.passageTrainTheorique.PassageTrainTheorique;
import business.Defi;
import business.Pari;
import business.Utilisateur;


@SuppressWarnings("unused")
public class Defi_Package {
	/* ------------------------------------------------------------- ATTRIBUT */
	private Defi defi;
	private Utilisateur utilisateur;
	private Utilisateur adversaire;
	private Pari pariUtilisateur = null;
	private Pari pariAdversaire = null;
	private PassageTrainTheorique passageTrainTheorique = null;
	private String nomGarePassage = "";
	private String nomGareDestination = "";


	/* --------------------------------------------------------- CONSTRUCTEUR */
	public Defi_Package() { super(); }


	/* ------------------------------------------------------------ ACCESSEUR */


	/* -------------------------------------------------------------- METHODE */
	public void update(Defi p_defi, Utilisateur p_utilisateur) {
		defi = p_defi;
		utilisateur = p_utilisateur;
		// si p_utilisateur a defié p_adversaire
		for(Defi d : utilisateur.getDefisFaits()) {
			if(d.getId_defi() == defi.getId_defi()) {
				try {
					adversaire = DaoUtilisateur.getUtilisateur(d.getFk_id_cible());
					pariUtilisateur = utilisateur.getPari(d.getFk_id_pariDemandeur());
					pariAdversaire = adversaire.getPari(d.getFk_id_pariCible());
					passageTrainTheorique = pariUtilisateur.getPassageTrainTheorique();
					nomGarePassage = pariUtilisateur.getGarePassage().getNom();
					nomGareDestination = pariUtilisateur.getGareDestination().getNom();
				}
				catch(Exception e) {
					//e.printStackTrace();
				}
				
				return;
			}
		}
		// si p_adversairer a defié p_utilisateur
		for(Defi d : utilisateur.getDefisRecus()) {
			if(d.getId_defi() == defi.getId_defi()) {
				try {
					adversaire = DaoUtilisateur.getUtilisateur(d.getFk_id_demandeur());
					pariUtilisateur = utilisateur.getPari(d.getFk_id_pariCible());
					pariAdversaire = adversaire.getPari(d.getFk_id_pariDemandeur());
					passageTrainTheorique = pariAdversaire.getPassageTrainTheorique();
					nomGarePassage = pariAdversaire.getGarePassage().getNom();
					nomGareDestination = pariAdversaire.getGareDestination().getNom();
					return;
				}
				catch(Exception e) {
					//e.printStackTrace();
				}
				
				return;
			}
		}
	}
}
